﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using PlanificadorDeEventos.Models;
using PlanificadorDeEventos.Comun;
using PlanificadorDeEventos.Repositorios;
using PlanificadorDeEventos.Interfaces;


namespace PlanificadorDeEventos.Repositorios
{
    public class RepositorioGuests : RepositorioGenerico<Guest>, IRepositorioGuests
    {
        public RepositorioGuests(ModelContext context)
            : base(context) 
        { 
        }

        /// <summary>
        /// Obtiene un usuario por su nombre
        /// </summary>
        /// <param name="nombre">El nombre del usuario.</param>
        /// <returns></returns>
        public Guest ObtenerPorNombre(string nombre)
        {
            return this.dbSet.SingleOrDefault(u => u.Nombre.Equals(nombre, StringComparison.CurrentCultureIgnoreCase));
        }

        /// <summary>
        /// Actualiza las propiedades de un usuario
        /// </summary>
        /// <param name="evento">Es el usuario a actualizar</param>
        public void ActualizarUsuario(Guest guest)
        {
            Guest oldEvent = dbSet.SingleOrDefault(e => e.ID.Equals(guest.ID));
            //oldEvent.Nombre = guest.Nombre;
            oldEvent.Email = guest.Email;                        
            this.context.SaveChanges();

        }

    }
}